Security News
Fluent Assertions Faces Backlash After Abandoning Open Source Licensing
Fluent Assertions is facing backlash after dropping the Apache license for a commercial model, leaving users blindsided and questioning contributor rights.
A tiny (202B to 249B) utility to remove items recursively
This is a Promise
-based, cross-platform utility that recursively removes files and directories. It's effectively a programmatic rm -rf
for Node.js. There's also a CLI for easy, cross-platform usage.
Notice: Node v12.10.0 includes the
recursive
option forfs.rmdir
andfs.rmdirSync
.
$ npm install --save premove
There are two "versions" of premove
available:
Node.js: >= 8.x
Size (gzip): 249 bytes
Availability: CommonJS, ES Module
This is the primary/default mode. It makes use of async
/await
and util.promisify
.
Node.js: >= 6.x
Size (gzip): 202 bytes
Availability: CommonJS, ES Module
This is the opt-in mode, ideal for scenarios where async
usage cannot be supported.
In order to use it, simply make the following changes:
-import { premove } from 'premove';
+import { premove } from 'premove/sync';
import { resolve } from 'path';
import { premove } from 'premove';
// Async/await
try {
await premove('./foobar');
} catch (err) {
//
}
// Promise
premove('./foobar').then(val => {
console.log(val); //=> undefined
}).catch(err => {
//
});
// Using `cwd` option
const dir = resolve('./foo/bar');
await premove('hello.txt', { cwd: dir });
A premove
binary is available as of v4.0.0.
It accepts an optional --cwd
value and a list of paths to delete.
Important: By default
premove
refuses to delete:
- the
os.homedir
- the system root (
/
,C:\\
, etc)- items not contained by
--cwd
path
# remove "foo" and "bar" via `npx`
$ npx premove foo bar
# install globally, use whenever
$ npm install premove -g
$ premove foo bar
Returns: Promise<undefined>
or false
Returns a Promise that resolves to undefined
once complete.
Returns false
immediately if the initial filepath (str
) does not exist.
Important:
Thesync
andasync
versions share the same API.
The only difference is thatsync
is not Promise-based.
Type: String
The filepath to remove – may be a file or a directory.
An initial existence check is made for this filepath.
Important: This value is resolved to a full path.
Please be aware of how and from where the Node.js file system is resolving your path!
Type: String
Default: .
The directory to resolve your str
from.
Defaults to the process.cwd()
– aka, the directory that your command is run within.
MIT © Luke Edwards
FAQs
A tiny (208B to 260B) utility to remove items recursively
The npm package premove receives a total of 5,255 weekly downloads. As such, premove popularity was classified as popular.
We found that premove demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
Fluent Assertions is facing backlash after dropping the Apache license for a commercial model, leaving users blindsided and questioning contributor rights.
Research
Security News
Socket researchers uncover the risks of a malicious Python package targeting Discord developers.
Security News
The UK is proposing a bold ban on ransomware payments by public entities to disrupt cybercrime, protect critical services, and lead global cybersecurity efforts.